<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			
			//编写一个类和类继承，类名为Person，属性name,age,方法sayHello.
			//一个Student类，继承自Person，自有属性score,自有方法study
			// function Person(){
			// 	this.name= "张三";
			// 	this.age = 18;
			// 	this.SayHello = function(){
			// 		console.log(this.name+"今年"+this.age+"岁");
			// 	}
			// }
			// function Student(){
			// Person.call(this,arguments);
			// this.name="李四";
			// this.age = 16;
			// this.study= function(){
			// 			console.log(this.name +"在学习");
			// 	}
			// }
			//
		
			//
			
			//原型链 
			// Student.prototype = new Person();
			// let stu = new Student();
			// stu.SayHello();
			  
			//构造函数继承
			// function Student(){
			// 	Person.call(this,arguments);
			// 	this.name="李四";
			// 	this.age = 16;
			// 	this.study= function(){
			// 			console.log(this.name +"在学习");
			// 	}
			// }
			
			// let stu = new Student();
			// stu.SayHello();
			//圣杯模式  (重点)
			 // *****
			//  var inherit= (function(){
			// 	 var t = function(){};
			// 	 return function(Target,Origin){
			// 		t.prototype = Origin.prototype;
			// 		Target.prototype = new t();
			// 		Target.prototype.constructor = Target;
			// 		Target.prototype.uber = Origin;
			// 	 }
				 
			//  }())
			//  inherit(Student,Person);
			//  let stu = new Student();
			// stu.SayHello();
			 //
			 
			 
			 function Person(){
				 this.name = "张三";
				 this.age = 18;
				 this.SayHello = function(){
					 console.log(this.name + "今年"+this.age);
				 }
			 }
			 //class实现
			 // class Student extends Person{
				//  constructor(){
				// 	 super();
				// 	 this.score = 100;
					 
				//  }
				//  Study(){
				// 	 console.log(this.name+"在学习"+"考试考了"+this.score);
				//  }
			 // }
			 // let stu = new Student();
			 // stu.Study();
			 // stu.SayHello();
		</script>
	</body>
</html>
